package com.foreverwin.jzymes.common.service;

import java.util.List;
import java.util.Map;

public interface IResourceAdviceService {

    /**
     * 检查设备
     *
     * @param site
     * @param resource
     * @return
     */
    public Map<String,Object> existResource(String site, String resource );

    /**
     * 查询设备
     *
     * @param site
     * @param resource
     * @return
     */
    public Map<String,Object> findResource( String site, String resource );

    /**
     * 通过设备编号获取工序Handle
     *
     * @param site
     * @param resource
     * @return
     */
    public String findOperationByResource(String site, String resource );

    /**
     * 通过设备编号获取工序
     *
     * @param site
     * @param resource
     * @return
     */
    public String findOperationBoByResource( String site, String resource );

    /**
     * 通过设备编号获取工序
     *
     * @param resourceMap
     * @return
     */
    public String findOperationByResource(Map<String,Object> resourceMap );

    /**
     * 查询资源夹位
     *
     * @param site
     * @param resource
     * @return
     */
    public String findCncType( String site, String resource );


    /**
     * 检查设备是否一夹
     *
     * @param site
     * @param resource
     * @return
     */
    public boolean isCNC1( String site, String resource );

    /**
     * 检查是否是cnc设备
     *
     * @param site
     * @param resource
     * @return
     */
    public boolean isCNC( String site, String resource );

    /**
     * 查询夹位资源类型资源
     *
     * @param site
     * @param cncTye
     * @param resourceType
     * @return
     */
    public List<Map<String,Object>> findResourceListByCncType( String site, String cncTye, String resourceType );

    /**
     * 查询资源所在工作中心列表
     *
     * @param site
     * @param resource
     * @return
     */
    public List<Map<String,Object>> findWorkCenterList(String site, String resource );

    /**
     * 查询资源所在工作中心
     *
     * @param site
     * @param resource
     * @return
     */
    public Map<String,Object> findWorkCenterMap( String site, String resource );

    /**
     * 检查资源所在工作中心自定义字段是否是自动线
     *
     * @param site
     * @param resource
     * @return
     */
    public boolean isAutoLineResource( String site, String resource );

    /**
     * 查询资源所在工作中心
     *
     * @param site
     * @param resource
     * @return
     */
    public String findWorkCenter( String site, String resource );


    /**
     * 查询工作中心资源
     *
     * @param site
     * @param workCenter
     * @return
     */
    public List<String> findResourceListByWorkCenter( String site, String workCenter );

    /**
     * 查询自动线资源
     *
     * @param site
     * @return
     */
    public List<Map<String,Object>> findAutoLineResource( String site );

    /**
     * 查询站点所有资源
     *
     * @param site
     * @return
     */
    public List<Map<String,Object>> findResrceBySite( String site );

    /**
     * 查询设备工作中心接驳站
     *
     * @param site
     * @param resource
     * @return
     */
    public String findTranship( String site, String resource );

    /**
     * 查询设备状态
     *
     * @param site
     * @param resource
     * @return
     */
    public String findResourceStatus( String site, String resource );

    /**
     * 查询设备可切换状态列表
     *
     * @param site
     * @param resource
     * @param status
     * @return
     */
    public List<String> findNextStatus( String site, String resource, String status );

    /**
     * 保存设备状态
     *
     * @param site
     * @param resource
     * @param status
     */
    public void updateResourceStatus( String site, String resource, String status );

    /**
     * 修改设备状态
     *
     * @param site
     * @param resource
     * @param status
     */
    public void changeResourceStatus( String site, String resource, String status );
}
